package com.taritari.journal.services.impl;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.taritari.journal.entity.dto.JournalAddDto;
import com.taritari.journal.entity.dto.JournalsDto;
import com.taritari.journal.entity.po.Journals;
import com.taritari.journal.entity.vo.JournalDetailVo;
import com.taritari.journal.entity.vo.TodayJournalVo;
import com.taritari.journal.utils.Result;

import java.util.List;
import java.util.Map;

/**
 * @author taritari
 * @date 2024-01-08 20:50
 * @description 日记
 */
public interface JournalsServiceImpl extends IService<Journals> {
    /**
     * 通过用户名查询日记
     * */
    JournalsDto getJournalByAuthorId(int authorId, int currentPage);
    /**
     * 根据id查询详情
     * */
    JournalDetailVo getJournalInfoById(int id);
    /**
     * 查询该用户当月的日记写作状态
     * */
    Result selectUserWritingThisMonth(List<String> dateList, int id);
    /**
     * 通过日期获取日记详情
     * */
    Result selectJournalDetailByDate(String date,int id);
    /**
     * 添加日记
     * */
    Result addJournal(JournalAddDto journalAddDto);
    /**
     * 通过日期查询用户当天的日记
     * */
    TodayJournalVo queryTodayJournal(int id, String date);
    /**
     * 通过id获取日记源数据-修改用
     * */
    TodayJournalVo queryJournalByDate(int id, int authorId);
    /**
     * 通过id删除日记
     * is_delete = 1
     * */
    int deleteJournalById(int id);
    /**
     * 获取指定用户的前三篇日记
     * authorId 用户Id
     * */
    Map<String,Object> getThreeJournal(int authorId);

}
